package Controlador;


import java.awt.event.ActionEvent;
import java.util.List;
import java.awt.event.ActionListener;
import modelo.Juez;
import modelo.Panamericano;
import vista.VistaJuez;

public class Controladorvistajuez implements ActionListener {
		
	VistaJuez ventanaJuez;
		Juez juez;
		private Panamericano panamericano;
	public Controladorvistajuez(Panamericano panamericano)
	{
	
		ventanaJuez = new VistaJuez(this);
		ventanaJuez.agregarlistener(this);
		ventanaJuez.setLocationRelativeTo(null);
		ventanaJuez.setVisible(true);
		ventanaJuez.setvisibilidadtabla(false);
		ventanaJuez.setVisible(true);
		this.panamericano = panamericano;
	}
		
	private void consultar(){
		String cedula;
		cedula= ventanaJuez.getCedula();
		if (panamericano.getjuez().isEmpty()){
			ventanaJuez.mostrarMensaje("No hay Jueces Registrados");
		}else{
			for(int i=0;i<panamericano.getjuez().size();i++){
				if(cedula.equals(panamericano.getjuez().get(i).getCedula())){
					String nom= panamericano.getjuez().get(i).getNombre();
					ventanaJuez.setNombre(nom);
					String ape= panamericano.getjuez().get(i).getApellido();
					ventanaJuez.setApellido(ape);
					String fecha= panamericano.getjuez().get(i).getFechaNacimiento();
					ventanaJuez.setFecha(fecha);
					return;
				}
			}
			ventanaJuez.mostrarMensaje("Cedula No Registrada");
		}
			
	}

	private void agregarJuez() {
		try {
			String cedula = ventanaJuez.getCedula();
			String nombre = ventanaJuez.getNombre();
			String apellido = ventanaJuez.getApellido();
			String fechaNacimiento = ventanaJuez.getFechaNaciemiento();
			if (cedula.equals("") || nombre.equals("") || apellido.equals("") || fechaNacimiento.equals(""))
			{
				ventanaJuez.imprimir("Debe llenar los campos ");
			}else
			{
			Juez juez = new Juez(cedula,nombre,apellido,fechaNacimiento);
		
			
			panamericano.agregarjuez(juez);
			ventanaJuez.mostrarMensaje("Listo!!! El Juez: "+juez.getNombre() +" "+ 
					 juez.getApellido() + " ha sido registrado");		

			ventanaJuez.blanquearCampos();
			}
							
		}
		catch(Exception e) {
			// Mensaje de Dialogo en caso de que ocurra cualquier otra excepcion
			ventanaJuez.mostrarMensaje(e.toString());
		}
	}

	@Override
	public void actionPerformed(ActionEvent evento) {
		String comando = evento.getActionCommand();
		if (comando.equals("Guardar"))
		{
			agregarJuez();
		}
		else if (comando.equals("Cancelar")){
			ventanaJuez.blanquearCampos();
		}
		else if (comando.equals("Consultar")){
			consultar();
		}
		else if (comando.equals("Limpiar")){
			ventanaJuez.blanquearCampos();
		}
		else if (comando.equals("Consultar Jueces"))
		{
			ventanaJuez.setvisibilidadtabla(true);
		}
	}	
}
